Many modern electronic devices incorporate a touch screen to display information and as an input that is activated by touching the display. One technology for implementing the touch aspect of a touch screen is capacitance sensing. An insulator, such as glass, is coated with a transparent conductor, such as indium tin oxide (ITO). Since the human body is an electrical conductor, when a finger actuates the touch screen, such as by touching or even getting very close to its surface, the electrostatic field of the touch screen is distorted, resulting in a measurable change in capacitance.
A mutual capacitance touch screen comprises two layers of material arranged in an X-Y grid such that an actuation of the touch screen can be resolved into a coordinate. A finger is typically larger than the spacing of X-Y grid lines in the layers of a mutual capacitance touch screen. Thus, multiple grid lines can be activated at different signal levels during a single actuation of the touch screen. A capacitive touch screen controller is able to resolve the signals on the X-Y multiple grid lines into an X-Y coordinate. Multiple signals are injected in parallel onto the row ITO traces and sensed in parallel at the column ITO traces. Mutual capacitance between rows and columns is affected by the proximity of fingers and conductive bodies. A touch screen controller decodes the coordinates of a touch upon the screen by repetitively scanning the touch screen sense lines in response to stimulation of the drive lines in accordance with an excitation matrix, E. The excitation matrix E has order M×N where M is the number of drive lines (rows) and N is the number of sense lines (columns) in the touch screen.
In one example, a touch screen has 20 drive lines (M) and 15 sense lines (N). A vector of output voltages Y is measured at each sense line. The order of vector Y is M, the number of columns. To decode the coordinates of a touch based upon capacitance at an intersection of a drive line and a sense line, it is necessary to determine the capacitance of each column vector X, given the vector of measured voltages Y. X is also a vector of order M. The excitation matrix, E, the vector of capacitances for a sense line, X, and the vector of voltages measured at a sense line, Y, are related by the equation E*X=Y, which is represented dimensionally as:
            [                                                  E                              1                ,                1                                                          …                                              E                              1                ,                N                                                                          ⋮                                ⋱                                ⋮                                                              E                              M                ,                1                                                          …                                              E                              M                ,                N                                                        ]        ·          [                                                  X              1                                                            ⋮                                                              X              M                                          ]        =      [                                        Y            1                                                ⋮                                                  Y            M                                ]  In order to find the vector of capacitances X, we must find the inverse of the matrix, E, indicated by E−1, and multiply it by the vector of measured voltages Y, as shown in the equation X=E−1*Y. However, not every matrix can be inverted. Additionally, the condition number of the excitation matrix is important, since a high condition number will result in the amplification of errors and a less perfect estimation of the capacitance values. Generally, the excitation matrices in the prior art do not have condition numbers lower than two. As the condition number of the excitation matrix increases, the signal-to-noise ratio (S/N) deteriorates.
FIG. 1 illustrates a prior art touch screen system 100, which involves exciting the rows of a mutual capacitance touch panel matrix F, 120, with an R×R excitation matrix E, 110. Panel matrix F has R rows and C columns, wherein R>=C. Each column of panel F is dot-multiplied with one selected column of excitation matrix E, which is carried out by row amplifiers 115 driving the row ITOs of the panel F. The process is repeated sequentially every chip time interval k for each column of excitation matrix E. The successive chip time intervals are labeled by k=1 to R. The row elements of the excitation matrix E, which are either 1 or −1, are multiplied with a sine-wave carrier signal 125. There are an integer number of sine wave cycles per chip time interval. The carrier signal is used to frequency translate the signal to a high frequency (e.g., ˜50-500 kHz) in order to have low correlation with low frequency interference from an underlying LCD panel and battery chargers. The panel 120 comprises a cross-bar two-layer configuration of ITO rows and columns. Proximity of a finger changes the mutual capacitance between rows and columns in the vicinity of the finger. The detection of the change in this mutual capacitance is usually in the 1-5% range of the mutual capacitance at the cross-point. The mutual capacitance change relative to the total capacitance is much smaller. The column ITOs are each sensed with a charge-coupled LNA 130, whose output is mixed with the original carrier sine wave and then integrated-and-dumped at the integrate-and-dump block 135 for each period of the excitation row-signal output. The integrated-and-dumped output is then collected into a matrix L, 140, with R rows and C columns. Each column output of the panel is the sum of the row signals affecting the particular column. The cth column signal at the kth chip interval that is stored in matrix L at L(k,c) is given by Equation 1 below. Multiplication of excitation matrix E by a carrier sine wave is also shown by the term S(t). The range of c is 1 to R, and if C<R, then the panel F is taken as zero for F(r,c) where c>C.Lcarrier(k,c,t)=S(t)*[F(1,c)*E(1,k)+F(2,c)*E(2,k)+F(3,c)*E(3,k)+ . . . +F(R,c)*E(R,k)]
for Tk<=t<=Tk+1 
S(t)=sin(2πfTt), where is the carrier frequency. Also, Tchip is integer multiple of 1/fT. Down conversion and integrate-and-dump is given by:
      L    ⁡          (              k        ,        c            )        =            ∫              t        =                  T          k                            t        =                  T                      k            +            1                                ⁢                            L          carrier                ⁡                  (                      k            ,            c            ,            t                    )                    *              S        ⁡                  (          t          )                    ⁢                          ⁢              ⅆ        t            L(k,c)=F(1,c)*E(1,k)+F(2,c)*E(2,k)+F(3,c)*E(3,k)+ . . . +F(R,c)*E(R,k).  [Eq. 1]                L(k,c)=ΣF(r,c)*E(r,k), summed over r=1 to R.        L(k,c)=ΣE′(k,r)*F(r,c), summed over r=1 to R, where E′(k,r)=transpose of E(r,k).Using general matrix multiplication notation Y=A*B, where element Y(i,j)=[A(i,n)*B(n,j)] summed over n,L=E′*F,  [Eq. 2]        
where L=L(k,c) is the received column matrix,
E′ is the transpose of E=E(r,k) that is the transmitted excitation matrix, and
F=F(r,c) is the panel mutual capacitance matrix.
The final column signal L is actually obtained by demodulating with the carrier sine wave followed by an integrate-and-dump operation. To obtain the panel mutual capacitance matrix F, from Equation 2,F=inv(E′)*L.  [Eq. 3]Values of E are chosen for the lowest constant column-sum while keeping E invertible, with a low condition number and with a low RMS and Peak Error for F per Equation 2, using fixed-point simulation including fixed-point elements of inv(E). Usually the columns of excitation matrix E are cyclically shifted versions of the 1st column
If the panel is fully uniform, i.e., all elements in F(r,c) are equal to a constant β, and the variation in F(r,c) is only 1-5% with touch, then Equation 1 is approximately the column-sum of E for the cth column, multiplied by constant β*T where T is the integration period. Even though E is chosen for the smallest column-sum, the dynamic range of the A/Ds 137, which are positioned after the integrate-and-dump blocks 135, can be improved by having the column-sum equal to zero. This is done by subtracting a constant ‘d*β*T’ from the column signal:L2=L−d*β*T=E′*F−d*β*T, where d=−sum (any column of E).  [Eq. 4]From above,F=inv(E′)*L2−d*β*T*inv(E′), andF=inv(E′)*L2−D, where D=d*β*T*inv(E′) is a constant R×C matrix.The value of D is not computed directly since it cancels out in the baseline correction for computing the finger image profile Fp (given below for the fth frame):Fp=F−B, where B=mean (F without finger) taken over many frames.  [Eq. 5]                Fp=(inv(E′)*L2−D)−mean[inv(E′)*L2(without finger)−D].        Fp=inv(E′)*L2−mean[inv(E′)*L2(without finger)].As seen in Equation 5, the finger profile is extracted without actually computing the value of D.        
Referring back to FIG. 1, the matrix L is pre-multiplied by the inverse of E, 150, to produce the panel mutual capacitance matrix F, 160. The value of F is averaged when there is no finger in the proximity in order to compute the baseline B. When elements (i.e., pixels) in F are detected with significant deviation from their corresponding baseline values, the presence of a finger is assumed. In this case, the baseline B is subtracted from the current matrix F to produce the finger image profile Fp=F−B. The matrix Fp is further processed (both spatially and temporally) to track fingers and possibly reduce interference (e.g., by temporal pixel filtering over frames of Fp).
Capacitive touch screen controllers are prone to interference from LCD noise and battery charger noise that show up as false touches. Existing handheld touch screen products, such as cell phones and tablet computers, are severely affected by this interference. Even with touch screen systems that do not operate at base band frequency and that use a carrier in the 50-500 kHz range, harmonics of the above mentioned interference sources get into the signal pass band, especially when they are close to the carrier.
The only filtering the prior art uses to deal with the interference is an integrate-and-dump operation. Interference rejection is solely determined by the integrate-and-dump operation, which has a Sinc low-pass frequency response. It is similar to a first order low-pass filter (i.e., sin(x)/x) in the stop band region, which is not sufficient to reject out-of-band signals. Since a carrier is used, the sinc low-pass response is frequency translated to the carrier, where it now has a band pass response. The simulated response is shown in FIGS. 3A-B, which illustrate simulated interference rejection in relation to frequency for different interference mitigation schemes. The simple first order response has only 20 dB/decade out-of-band rejection. The in-band rejection is negligible. The rejection is defined as the relative change in “pixel” analog signal level in dB when compared to an ideal case without interference and without any filtering and PN spreading. The rejection yard stick for a digital communication system would be different, and would involve BER estimation under noise and interference.